/**
 * @file       ClosePanelEvent.h
 * @brief      CClosePanelEvent header file
 * @author     Huabo Zheng
 * @date       Jan 13, 2012
 * @Copyright  2012, www.netgear.com Inc. All rights reserved.
 */
#ifndef CLOSEPANELEVENT_H_
#define CLOSEPANELEVENT_H_

#include "AppEvent.h"

namespace NS_LCD_AFW
{
/**
 *@class  CClosePanelEvent
 *@brief  when a panel receives the event, then it will close friendly
 */
class CClosePanelEvent: public NS_LCD_AFW::CAppEvent
{
public:
	/**
	 *@brief Constructor
	 *@attention This objects can only be create in the heap memory and call destroy() for destruction
	 *@see void NS_LCD_AFW::IEvent::destory()
	 */
	CClosePanelEvent();

protected:
	/**
	*@brief DeConstructor
	*@attention This objects can only be create in the heap memory and call destroy() for destruction
	*@see destory()
	*/
	virtual ~CClosePanelEvent();

public:
	/**
	 *@brief  Commissioned by the event processing
	 *@details The functino will only be called by framework while user not hook the message chain by rewriting CEventHandler::handlerEvent()
			   and not register callback by call CEventHandler::registerCallBack
	 *@param[in]  pFrameEventHandler A pointer to a CFrame object
	 *@exception none
	 *@retval    int
	 *@return    ERR_EVENT_UN_HANDLED
	 *@note      This function will do nothing ,and just return ERR_EVENT_UN_HANDLED
	 *@attention
	 *@see int IEventListener::actionPerformed(IEvent *pEvent)
	 *@see void CEventHandler::registerCallBack(int eventId, AFW_EventCallBack pCallBack)
	 *@see int CFrame::onClosse()
	*/
	virtual int doProcess(CFrame *pFrameEventHandler);

private:
	DISABLE_COPY_CONSTRUCTOR_AND_ASSIGN_REFERENCE(CClosePanelEvent);
};

} /* namespace NS_LCD_AFW */
#endif /* CLOSEPANELEVENT_H_ */
